package com.yixincaipiao.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.view.View;
import android.view.inputmethod.InputMethodManager;

/**
 * 类名：ContextUtil.java<br>
 * 描述：    版本信息,    网络是否可以连接
 * 创建者： jack<br>
 * 创建日期：2012-11-16<br>
 * 版本： <br>
 * 修改者： <br>
 * 修改日期：<br>
 */
public class ContextUtil {
    /**
     * 功能描述： 获取当前的versionCode<br>
     * 创建者： jack<br>
     * 创建日期：2014-5-28<br>
     *
     * @param context     上下文
     * @param packageInfo 包路径
     * @return
     */
    public static int getVerCode(Context context, String packageInfo) {
        int verCode = -1;
        try {
            verCode = context.getPackageManager().getPackageInfo(packageInfo, 0).versionCode;
        } catch (Exception e) {
        }
        return verCode;
    }

    /**
     * 功能描述： 获取当前的versionName<br>
     * 创建者： jack<br>
     * 创建日期：2014-5-28<br>
     *
     * @param context     上下文
     * @param packageInfo 包路径
     * @return
     */
    public static String getVerName(Context context, String packageInfo) {
        String verName = "";
        try {
            verName = context.getPackageManager().getPackageInfo(packageInfo, 0).versionName;
        } catch (Exception e) {
        }
        return verName;
    }

    /**
     * 判断当前网络是否已经连接如果没有， 打开系统网络设置页面
     *
     * @return 连接true 没有false
     */
    public static boolean isNetHaving(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = connectivityManager.getActiveNetworkInfo();
        return info != null && info.isAvailable();
    }


//    /**
//     * 获取mac地址
//     */
//    public static String getMacAddress(Context context) {
//        String result = "";
//        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//        result = wifiInfo.getMacAddress();
//        return result;
//    }
//
//    /**
//     * 获取ip地址
//     */
//    public static String getIpAddress(Context context) {
//        // 获取wifi服务
//        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//        // 判断wifi是否开启
//        if (wifiManager.isWifiEnabled()) {
//            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//            int ipAddress = wifiInfo.getIpAddress();
//            return (ipAddress & 0xFF) + "." + ((ipAddress >> 8) & 0xFF) + "." + ((ipAddress >> 16) & 0xFF) + "."
//                    + ((ipAddress >> 24) & 0xFF) + ".";
//        } else {// GPRS
//            try {
//                for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
//                    NetworkInterface intf = en.nextElement();
//                    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
//                        InetAddress inetAddress = enumIpAddr.nextElement();
//                        if (!inetAddress.isLoopbackAddress()) {
//                            return inetAddress.getHostAddress().toString();
//                        }
//                    }
//                }
//            } catch (Exception e) {
//
//            }
//        }
//        return "";
//    }

    /**
     * 功能描述：是否存在sdCard<br>
     * 创建者： jack<br>
     * 创建日期：2014-5-22<br>
     *
     * @return
     */
    public static boolean isExitSDcard() {
        return android.os.Environment.MEDIA_MOUNTED.equals(android.os.Environment.getExternalStorageState());
    }

    /**
     * 功能描述：隐藏键盘 <br>
     * 创建者： jack<br>
     * 创建日期：2014-5-22<br>
     *
     * @param context 上下文
     * @param view    输入控件
     */
    public static void hideKeyboard(Context context, View view) {
        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm.isActive()) {
            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }
    }
}

